The present invention relates to the display of color spaces. More specifically, the present invention relates to the manipulation of color histograms representing digital images to query by color statistics.
Conventional computer systems have been employed to analyze visual images. These visual images include, for example, photographic stills, digitally rendered graphics, video clips, and any other monochrome or color images suitable for representation on a digital system. A goal of these image analysis or image processing systems is to generate information about the characteristics of an image so the image may be classified and used to query an image database.
Image processing techniques include many methods for extracting characteristics or features from an image. For example, techniques are known for extracting color, texture, and component shape characteristics of a given image. Known techniques for extracting the color features of an image typically employ one of two methods. First, the user may select a desired color that may be used as a basis for an image color query. Typically the user selects a color from a palette of image characteristics (colors) selections represented by thumbnail icons corresponding to image colors, such as, for example, as shown in FIG. 1, in order to request a particular image query. The selected image colors are submitted to a query by image content engine. Images are matched to the selected color based on the average color of the matched image over the entirety of the image. A second known image color analysis technique determines not only the overall color of a desired image, but also the percentage coverage of that color and the compactness of the color coverage in a desired image. The percentage color coverage and color compactness are used as additional query conditions in these systems.
Other analysis techniques are known for extracting texture features of an image. Texture features such as granularity, directionality, and tiling features of a given image may be extracted using known techniques.
Still other techniques are known for classifying an image based on structure features, which represent shapes found in the image. Using these known techniques, predefined shapes, such as rectangular, triangular, or circular shapes among others, may be compared to an image to determine the presence of such shapes in the image. This technique may be used to query an image database for images having a particular specified shape.
Color is still the most intuitive and straight forward feature utilized by humans for visual recognition and discrimination of images. The term xe2x80x9ccolorxe2x80x9d is often defined by such common terms as hue, saturation (also referred to as chroma), and value (also referred to as intensity or luminance) that are used to represent particular color space. A color space is merely a representation of the different colors or color elements which comprise the respective color systems.
Typically, each color space (or color gamut) is comprised of three elements which define the color space. The three elements constituting the color space define the physical color space representation. Accordingly, there are a number of different theoretical physical, three-dimensional color space representations (e.g., cubes, cones, etc.) for each individual color space. For example, an RGB (red, green, and blue) color space may be theoretically represented as a cube, commonly referred to as an RGB cube. Likewise, an HSV (hue, saturation, and value) color space may be theoretically represented as a hexagonal cone, commonly referred to as an HSV hexcone. The existing user interfaces for query by color statistics as described above offer limited functionality. For example, in methods and systems allowing a user to choose a fixed palette, the user may select a value for each of the values of the color space being utilized. In actual images, palettes vary with subject matter, lighting and other factors and the number of colors needed to describe an object is usually quite large. Furthermore, the user may not be able to guess correctly what colors are within an object. For example, we typically think of an apple as red, but the red component of the apple may also have green, blue and yellow color components within the apple rendition. Thus, we may see red, however, the color is made up of a variety of colors to arrive at the overall red color. Each component within a color space also has a continuous range of colors which makes it more difficult for a user to give a percentage of his chosen color. In addition, in using the RGB color space, each color defined by the color space have a component of red, green and blue within the color.
A color histogram may provide a convenient graphical interface to the retrieval of images that are similar in overall color content and provides a definition of the color representation of an image. The color histogram of an image describes its color distribution. Every pixel in the image corresponds to a point in a three-dimensional color space in which a similar image set may be selected based on the color distribution
{T|dist(HQ, HT) less than xcex5}
where HQ and HT are color histograms of the query and target images, respectively. If a pixel is described by RGB color components of n bits each, then HQ and HT are defined on the cubic lattice of 2nxc3x972nxc3x972n points. However, to simplify the computation of the query, the color space may be quantized to reduce the resolution of both histograms.
A system and method for manipulating a histogram to perform query by color statistics are described. In one embodiment, color elements of an object based upon a color space are quantized and a histogram is created from the color elements. Further, the histogram is manipulated and displayed. In one embodiment, a database of images is queried by comparing the edited histogram with at least one existing histogram maintained in the database and at least one image corresponding to the at least one existing histogram is displayed.